Class Objects.LaraObject
Class for player-only functions.
Do not try to create an object of this type. Use the built-in Lara variable instead. LaraObject inherits all the functions of Moveable.
Functions
| LaraObject:SetPoison([poison]) | Set the player's poison value. |
| LaraObject:GetPoison() | Get the player's poison value. |
| LaraObject:SetAir([air]) | Set the player's air value. |
| LaraObject:GetAir() | Get the player's air value. |
| LaraObject:SetWet([wetness]) | Set the player's wetness value, causing drips. |
| LaraObject:GetWet() | Get the player's wetness value. |
| LaraObject:SetStamina([stamina]) | Set the player's stamina value. |
| LaraObject:GetStamina() | Get the player's stamina value. |
| LaraObject:SetExposure([exposure]) | Set the player's cold exposure value. |
| LaraObject:GetExposure() | Get the player's cold exposure value. |
| LaraObject:GetAirborne() | Get the player's airborne status (set when jumping and falling). |
| LaraObject:SetAirborne(airborne) | Set the player's airborne status. |
| LaraObject:GetLocked() | Get the player's locked status. |
| LaraObject:SetLocked(locked) | Set the player's locked status. |
| LaraObject:UndrawWeapon() | Undraw a weapon if it is drawn and throw away a flare if currently holding one. |
| LaraObject:DiscardTorch() | Discard a held torch. |
| LaraObject:GetHandStatus() | Get the player's hand status. |
| LaraObject:SetHandStatus(status) | Set the player's hand status. |
| LaraObject:GetWeaponType() | Get the player's weapon type. |
| LaraObject:SetWeaponType(weaponType, [activate]) | Set the player's weapon type. |
| LaraObject:GetLaserSight(weaponType) | Get player lasersight status. |
| LaraObject:SetLaserSight(weaponType, [activate]) | Set player lasersight status. |
| LaraObject:GetAmmoType([weaponType]) | Get player weapon ammo type. |
| LaraObject:SetAmmoType(Player) | Set player weapon ammo type. |
| LaraObject:GetAmmoCount() | Get current weapon's ammo count. |
| LaraObject:GetWeaponMode([weaponType]) | Get player weapon mode type. |
| LaraObject:SetWeaponMode(weaponType, weaponMode) | Set player weapon mode type. |
| LaraObject:GetVehicle() | Get current vehicle, if it exists. |
| LaraObject:GetTarget() | Get the player's current targeted moveable (if it exists). |
| LaraObject:GetInteractedMoveable() | Get the player's current interacted moveable (if it exists). |
| LaraObject:GetHolsterWeaponTypes() | Get currently holstered weapon types in left holster, right holster and back holster. |
| LaraObject:SetHolsterWeaponTypes([left], [right], [back]) | Set holstered weapon meshes for left holster, right holster and back holster. |
| LaraObject:ResetHair() | Reset player hair to default state. |
| LaraObject:SpawnGunFlash(weaponType, [weaponFlashType]) | Spawn a muzzle flash and dynamic point light for the given weapon type at the correct muzzle position. |
| LaraObject:ClearGunFlashes() | Clear all currently active muzzle flashes. |
| LaraObject:IsTorchLit() | Check if a held torch is lit. |
| LaraObject:GetWaterStatus() | Get player water status. |
| LaraObject:GetWaterSkinStatus(flag) | Get player water skin amount. |
| LaraObject:SetWaterSkinStatus(amount, flag) | Set player water skin amount. |
| LaraObject:GetSkin() | Get the player's skin, skin joints, scream head and hair objects. |
| LaraObject:SetSkin([skin], [skinJoints], [skinScream], [hair1], [hair2]) | Swap the skin, skin joints, scream head and hair objects. |
| LaraObject:Interact(mov, [animNumber], [offset], [minOffsetConstraint], [maxOffsetConstraint], [minRotConstraint], [maxRotConstraint], [actionID], [objectID], [interactionType]) | Align the player with a moveable object for interaction. |
| LaraObject:TestInteraction(mov, [minOffsetConstraint], [maxOffsetConstraint], [minRotConstraint], [maxRotConstraint]) | Test the player against a moveable object for interaction. |
Functions
- LaraObject:SetPoison([poison])
-
Set the player's poison value.
Parameters:
- poison int New poison value. Default: 0, Maximum: 128. Default: 0.
Usage:
Lara:SetPoison(10) - LaraObject:GetPoison()
-
Get the player's poison value.
Returns:
-
int
Poison value.
Usage:
local poisonPotency = Lara:GetPoison() - LaraObject:SetAir([air])
-
Set the player's air value.
Parameters:
- air int New air value. Maximum: 1800. Default: 1800.
Usage:
Lara:SetAir(100) - LaraObject:GetAir()
-
Get the player's air value.
Returns:
-
int
Air value.
Usage:
local currentAir = Lara:GetAir() - LaraObject:SetWet([wetness])
-
Set the player's wetness value, causing drips.
Parameters:
- wetness int New wetness value. Maximum: 255. Default: 64.
Usage:
Lara:SetWet(100) - LaraObject:GetWet()
-
Get the player's wetness value.
Returns:
-
int
Wetness value.
Usage:
local dripAmount = Lara:GetWet() - LaraObject:SetStamina([stamina])
-
Set the player's stamina value.
Parameters:
- stamina int New stamina value. Maximum: 120. Default: 120.
Usage:
Lara:SetStamina(120) - LaraObject:GetStamina()
-
Get the player's stamina value.
Returns:
-
int
Stamina value.
Usage:
local sprintEnergy = Lara:GetStamina() - LaraObject:SetExposure([exposure])
-
Set the player's cold exposure value.
Parameters:
- exposure int New exposure value. Maximum: 600. Default: 600.
Usage:
Lara:SetExposure(600) - LaraObject:GetExposure()
-
Get the player's cold exposure value.
Returns:
-
int
Exposure value.
Usage:
local coldExposure = Lara:GetExposure() - LaraObject:GetAirborne()
-
Get the player's airborne status (set when jumping and falling).
Returns:
-
bool
True if airborne, otherwise false.
- LaraObject:SetAirborne(airborne)
-
Set the player's airborne status.
Parameters:
- airborne bool New airborne status.
- LaraObject:GetLocked()
-
Get the player's locked status.
Indicates whether the native user input is blocked. Useful to detect whether a game is in the middle of a flyby sequence or a cutscene.
Returns:
-
bool
True if locked, otherwise false.
- LaraObject:SetLocked(locked)
-
Set the player's locked status. This status will lock the native user input. Useful for cutscenes and scripted sequences.
Scripts will still receive input events even if this parameter is set to true.
If this parameter is unset during a flyby sequence which blocks user input, it will override the flyby sequence's setting.
Parameters:
- locked bool New locked status.
- LaraObject:UndrawWeapon()
-
Undraw a weapon if it is drawn and throw away a flare if currently holding one.
Usage:
Lara:UndrawWeapon()
- LaraObject:DiscardTorch()
-
Discard a held torch.
Usage:
Lara:DiscardTorch()
- LaraObject:GetHandStatus()
-
Get the player's hand status.
Returns:
-
HandStatus
Hand status.
Usage:
local handStatus = Lara:GetHandStatus() - LaraObject:SetHandStatus(status)
-
Set the player's hand status.
Parameters:
- status HandStatus Status type to set.
- LaraObject:GetWeaponType()
-
Get the player's weapon type.
Returns:
-
WeaponType
Current weapon type.
Usage:
local weaponType = Lara:GetWeaponType() - LaraObject:SetWeaponType(weaponType, [activate])
-
Set the player's weapon type.
Parameters:
- weaponType WeaponType New weapon type to set.
- activate
bool
If
true, also draw the weapons or set torch lit. Iffalse, keep weapons holstered or leave torch unlit. Default: false.
Usage:
Lara:SetWeaponType(WeaponType.PISTOLS, false) - LaraObject:GetLaserSight(weaponType)
-
Get player lasersight status.
Parameters:
- weaponType WeaponType Player weapon type. Only works for HK, Revolver and Crossbow.
Returns:
-
bool
Returns true if lasersight is connected to specified weapon.
Usage:
local test = Lara:GetLaserSight(WeaponType.CROSSBOW) - LaraObject:SetLaserSight(weaponType, [activate])
-
Set player lasersight status.
Parameters:
- weaponType WeaponType Player weapon type to attach lasersight to. Only works for HK, Revolver and Crossbow.
- activate
bool
If
true, also draw the weapons. Iffalse, keep weapons holstered. Default: false.
Usage:
local test = Lara:SetLaserSight(WeaponType.CROSSBOW) - LaraObject:GetAmmoType([weaponType])
-
Get player weapon ammo type.
Parameters:
- weaponType WeaponType Weapon to retrieve ammo type for. If omitted, the ammo type of the currently equipped weapon is returned. Optional.
Returns:
-
AmmoType
Player weapon ammo type.
Usage:
local CurrentAmmoType = Lara:GetAmmoType() - LaraObject:SetAmmoType(Player)
-
Set player weapon ammo type.
Parameters:
- Player AmmoType weapon ammo type.
Usage:
Lara:SetAmmoType(TEN.Objects.AmmoType.CROSSBOW_BOLT_NORMAL)
- LaraObject:GetAmmoCount()
-
Get current weapon's ammo count.
Returns:
-
int
Current ammo count (-1 if infinite).
Usage:
local equippedWeaponAmmoLeft = Lara:GetAmmoCount() - LaraObject:GetWeaponMode([weaponType])
-
Get player weapon mode type.
Parameters:
- weaponType WeaponType Weapon to retrieve weapon mode for. If omitted, the mode of the currently equipped weapon is returned. Only works for HK weapon currently. Optional.
Returns:
-
WeaponMode
Player weapon mode type.
- LaraObject:SetWeaponMode(weaponType, weaponMode)
-
Set player weapon mode type.
Parameters:
- weaponType WeaponType Weapon to set weapon mode for. Only works for HK weapon currently.
- weaponMode WeaponMode Player weapon mode type.
- LaraObject:GetVehicle()
-
Get current vehicle, if it exists.
Returns:
-
Moveable
Current vehicle (nil if no vehicle present).
Usage:
local vehicle = Lara:GetVehicle() - LaraObject:GetTarget()
-
Get the player's current targeted moveable (if it exists).
Returns:
-
Moveable
Target moveable (nil if the player is not currently targeting a moveable).
Usage:
local target = Lara:GetTarget() - LaraObject:GetInteractedMoveable()
-
Get the player's current interacted moveable (if it exists).
Returns:
-
Moveable
Interacted moveable (nil if the player is not interacting with a moveable).
Usage:
local interactedMoveable = Lara:GetInteractedMoveable() - LaraObject:GetHolsterWeaponTypes()
-
Get currently holstered weapon types in left holster, right holster and back holster.
Returns:
- WeaponType Left holster weapon type.
- WeaponType Right holster weapon type.
- WeaponType Back holster weapon type.
Usage:
local left, right, back = Lara:GetHolsterWeaponTypes() - LaraObject:SetHolsterWeaponTypes([left], [right], [back])
-
Set holstered weapon meshes for left holster, right holster and back holster.
Pass nil for any slot to leave it unchanged.
Use WeaponType.NONE to clear a holster slot.
Parameters:
- left WeaponType Left holster weapon type (nil to leave unchanged). Optional.
- right WeaponType Right holster weapon type (nil to leave unchanged). Optional.
- back WeaponType Back holster weapon type (nil to leave unchanged). Optional.
Usage:
Lara:SetHolsterWeaponTypes(WeaponType.PISTOLS, WeaponType.PISTOLS, WeaponType.SHOTGUN) Lara:SetHolsterWeaponTypes(nil, nil, WeaponType.NONE) -- Clear back holster only.
- LaraObject:ResetHair()
-
Reset player hair to default state.
Useful after changing animations in spectator or freeze mode to fix hair positioning.
Usage:
Lara:ResetHair()
- LaraObject:SpawnGunFlash(weaponType, [weaponFlashType])
-
Spawn a muzzle flash and dynamic point light for the given weapon type at the correct muzzle position.
Useful in photo mode or freeze mode to show a gun firing effect without the weapon actually being fired.
The weapon type should match the one currently equipped by the player; the renderer uses the active
weapon type for the correct mesh offset and rotation. Call only once in freeze mode to maintain the flash.
Parameters:
- weaponType WeaponType Weapon type to spawn the flash for.
- weaponFlashType WeaponFlashMode Weapon Flash mode type. Default: TEN.Objects.WeaponFlashMode.AUTO.
Usage:
Lara:SpawnGunFlash(WeaponType.PISTOLS)
- LaraObject:ClearGunFlashes()
-
Clear all currently active muzzle flashes.
Useful in photo mode or freeze mode to clear active gunflashes.
Usage:
Lara:ClearGunFlashes()
- LaraObject:IsTorchLit()
-
Check if a held torch is lit.
Returns:
-
bool
True if lit, otherwise false (also false if there is no torch in hand).
Usage:
local isTorchLit = Lara:IsTorchLit() - LaraObject:GetWaterStatus()
-
Get player water status.
Returns:
-
WaterStatus
Current water status of player.
Usage:
local waterStatus = Lara:GetWaterStatus() - LaraObject:GetWaterSkinStatus(flag)
-
Get player water skin amount.
Parameters:
- flag bool use True get the amount for Big Waterskin. False for Small Waterskin.
Returns:
-
int
Current capacity of specified water skin. For Smallwater skin (0 = Waterskin not present; 1 = Waterskin Empty; 2 = Waterskin 1L; 3 = WaterSkin 2L; 4 = Waterskin 3L).
For Largewater skin (0 = Waterskin not present; 1 = Waterskin Empty; 2 = Waterskin 1L; 3 = WaterSkin 2L; 4 = Waterskin 3L; 5 = Waterskin 4L; 6 = Waterskin 5L)
Usage:
local bigWaterSkinCapacity = Lara:GetWaterSkinStatus(true) local smallWaterSkinCapacity = Lara:GetWaterSkinStatus(false)
- LaraObject:SetWaterSkinStatus(amount, flag)
-
Set player water skin amount.
Parameters:
- amount int Current capacity of specified water skin. For Smallwater skin (0 = Waterskin not present; 1 = Waterskin Empty; 2 = Waterskin 1L; 3 = WaterSkin 2L; 4 = Waterskin 3L). For Largewater skin (0 = Waterskin not present; 1 = Waterskin Empty; 2 = Waterskin 1L; 3 = WaterSkin 2L; 4 = Waterskin 3L; 5 = Waterskin 4L; 6 = Waterskin 5L)
- flag bool use True get the amount for Big Waterskin. False for Small Waterskin.
Usage:
local bigWaterSkinCapacity = Lara:SetWaterSkinStatus(2) local smallWaterSkinCapacity = Lara:SetWaterSkinStatus(3)
- LaraObject:GetSkin()
-
Get the player's skin, skin joints, scream head and hair objects.
hair 2 is only returned if Young Lara is enabled in the settings.
Returns:
-
table
Array table: {skin, skinJoints, skinScream, hair1, hair2}.
Usage:
local s = Lara:GetSkin() print(s[1], s[2], s[3], s[4], s[5])
- LaraObject:SetSkin([skin], [skinJoints], [skinScream], [hair1], [hair2])
-
Swap the skin, skin joints, scream head and hair objects.
Pass nil for any parameter to leave it unchanged.
The provided object IDs must correspond to objects loaded in the current level.
Parameters:
- skin int Object ID of the replacement skin mesh. Optional.
- skinJoints int Object ID of the replacement skin joints mesh. Optional.
- skinScream int Object ID of the replacement scream head. Optional.
- hair1 int Object ID of the replacement primary hair object. Optional.
- hair2 int Object ID of the replacement secondary hair object. Optional.
Usage:
Lara:SetSkin(TEN.Objects.ObjID.ANIMATING18, TEN.Objects.ObjID.ANIMATING19, TEN.Objects.ObjID.ANIMATING20, nil, nil)
- LaraObject:Interact(mov, [animNumber], [offset], [minOffsetConstraint], [maxOffsetConstraint], [minRotConstraint], [maxRotConstraint], [actionID], [objectID], [interactionType])
-
Align the player with a moveable object for interaction.
Parameters:
- mov Moveable Moveable object to align the player with.
- animNumber int The animation to play after alignment is complete. Default: 197 (BUTTON_PUSH).
- offset Vec3 Relative position offset from the moveable. Default: Vec3(0, 0, 312).
- minOffsetConstraint Vec3 Minimum relative offset constraint. Default: Vec3(-256, -512, 0).
- maxOffsetConstraint Vec3 Maximum relative offset constraint. Default: Vec3(256, 0, 512).
- minRotConstraint Rotation Minimum relative rotation constraint. Default: Rotation(-10, -40, -10).
- maxRotConstraint Rotation Maximum relative rotation constraint. Default: Rotation(10, 40, 10).
- actionID ActionID Input action ID to trigger the alignment. Default: Input.ActionID.ACTION.
- objectID ObjID Object ID required in inventory for interaction. Optional.
- interactionType InteractionType Interaction icon type to show. Optional.
Usage:
local Lara:Interact( moveable, 197, Vec3(0, 0, 312), Vec3(-256, -512, -256), Vec3(256, 0, 512), Rotation(-10, -30, -10), Rotation(10, 30, 10), TEN.Input.ActionID.ACTION)
- LaraObject:TestInteraction(mov, [minOffsetConstraint], [maxOffsetConstraint], [minRotConstraint], [maxRotConstraint])
-
Test the player against a moveable object for interaction.
Parameters:
- mov Moveable Moveable object to align the player with.
- minOffsetConstraint Vec3 Minimum relative offset constraint. Default: Vec3(-256, -512, 0).
- maxOffsetConstraint Vec3 Maximum relative offset constraint. Default: Vec3(256, 0, 512).
- minRotConstraint Rotation Minimum relative rotation constraint. Default: Rotation(-10, -40, -10).
- maxRotConstraint Rotation Maximum relative rotation constraint. Default: Rotation(10, 40, 10).
Returns:
-
bool
Returns true if the player is inside the specified bounds.
